This package contains basic analog electrical multiphase components.
| Name | Description |
|---|---|
| Star | Star-connection |
| Delta | Delta (polygon) connection |
| PlugToPin_p | Connect one (positive) Pin to a Plug Connector |
| PlugToPin_n | Connect one (negative) Pin to a Plug connector |
| Resistor | Ideal linear electrical resistors |
| Conductor | Ideal linear electrical conductors |
| Capacitor | Ideal linear electrical capacitors |
| Inductor | Ideal linear electrical inductors |
| SaturatingInductor | Simple model of inductors with saturation |
| Transformer | Multiphase Transformer |
| VariableResistor | Ideal linear electrical resistors with variable resistance |
| VariableConductor | Ideal linear electrical conductors with variable conductance |
| VariableCapacitor | Ideal linear electrical capacitors with variable capacitance |
| VariableInductor | Ideal linear electrical inductors with variable inductance |
Modelica.Electrical.MultiPhase.Basic.Star
Connects all pins of plug_p to pin_n, thus establishing a so-called star-connection.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
model Star "Star-connection"
parameter Integer m(final min=1) = 3 "number of phases";
Interfaces.PositivePlug plug_p(
final m=m);
Modelica.Electrical.Analog.Interfaces.NegativePin pin_n;
equation
for j in 1:m loop
connect(plug_p.pin[j],pin_n);
end for;
end Star;
Modelica.Electrical.MultiPhase.Basic.Delta
Connects in a cyclic way plug_n.pin[j] to plug_p.pin[j+1], thus establishing a so-called delta (or polygon) connection when used in parallel to another component.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
model Delta "Delta (polygon) connection"
parameter Integer m(final min=2) = 3 "number of phases";
Interfaces.PositivePlug plug_p(
final m=m);
Interfaces.NegativePlug plug_n(
final m=m);
equation
for j in 1:m loop
if j<m then
connect(plug_n.pin[j],plug_p.pin [j+1]);
else
connect(plug_n.pin[j],plug_p.pin [1]);
end if;
end for;
end Delta;
Modelica.Electrical.MultiPhase.Basic.PlugToPin_p
Connects pin k of plug_p to pin_p, leaving the other pins of plug_p unconnected.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| k | 1 | phase index |
model PlugToPin_p "Connect one (positive) Pin to a Plug Connector"
parameter Integer m(final min=1) = 3 "number of phases";
parameter Integer k(
final min=1,
final max=m) = 1 "phase index";
Interfaces.PositivePlug plug_p(
final m=m);
Modelica.Electrical.Analog.Interfaces.PositivePin pin_p;
equation
pin_p.v = plug_p.pin[k].v;
for j in 1:m loop
plug_p.pin[j].i = if j == k then -pin_p.i else 0;
end for;
end PlugToPin_p;
Modelica.Electrical.MultiPhase.Basic.PlugToPin_n
Connects pin k of plug_n to pin_n, leaving the other pins of plug_n unconnected.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| k | 1 | phase index |
model PlugToPin_n "Connect one (negative) Pin to a Plug connector"
parameter Integer m(final min=1) = 3 "number of phases";
parameter Integer k(
final min=1,
final max=m) = 1 "phase index";
Interfaces.NegativePlug plug_n(
final m=m);
Modelica.Electrical.Analog.Interfaces.NegativePin pin_n;
equation
pin_n.v = plug_n.pin[k].v;
for j in 1:m loop
plug_n.pin[j].i = if j == k then -pin_n.i else 0;
end for;
end PlugToPin_n;
Modelica.Electrical.MultiPhase.Basic.Resistor
Contains m resistors (Modelica.Electrical.Analog.Basic.Resistor)
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| R[m] | fill(1, m) | Resistance [Ohm] |
model Resistor "Ideal linear electrical resistors"
extends Interfaces.TwoPlug;
parameter Modelica.SIunits.Resistance R[ m]=fill(1, m) "Resistance";
Modelica.Electrical.Analog.Basic.Resistor resistor[
m](final R=R);
equation
connect(resistor.p, plug_p.pin);
connect(resistor.n, plug_n.pin);
end Resistor;
Modelica.Electrical.MultiPhase.Basic.Conductor
Contains m conductors (Modelica.Electrical.Analog.Basic.Conductor)
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| G[m] | fill(1, m) | Conductance [Ohm] |
model Conductor "Ideal linear electrical conductors"
extends Interfaces.TwoPlug;
parameter Modelica.SIunits.Resistance G[ m]=fill(1, m) "Conductance";
Modelica.Electrical.Analog.Basic.Conductor conductor[
m](final G=G);
equation
connect(plug_p.pin, conductor.p);
connect(plug_n.pin, conductor.n);
end Conductor;
Modelica.Electrical.MultiPhase.Basic.Capacitor
Contains m capacitors (Modelica.Electrical.Analog.Basic.Capacitor)
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| C[m] | fill(1, m) | Capacitance [F] |
model Capacitor "Ideal linear electrical capacitors"
extends Interfaces.TwoPlug;
parameter Modelica.SIunits.Capacitance C[ m]=fill(1, m) "Capacitance";
Modelica.Electrical.Analog.Basic.Capacitor capacitor[
m](final C=C);
equation
connect(capacitor.p, plug_p.pin);
connect(capacitor.n, plug_n.pin);
end Capacitor;
Modelica.Electrical.MultiPhase.Basic.Inductor
Contains m inductors (Modelica.Electrical.Analog.Basic.Inductor)
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| L[m] | fill(1, m) | Inductance [H] |
model Inductor "Ideal linear electrical inductors"
extends Interfaces.TwoPlug;
parameter Modelica.SIunits.Inductance L[ m]=fill(1, m) "Inductance";
Modelica.Electrical.Analog.Basic.Inductor inductor[
m](final L=L);
equation
connect(inductor.p, plug_p.pin);
connect(inductor.n, plug_n.pin);
end Inductor;
Modelica.Electrical.MultiPhase.Basic.SaturatingInductor
Contains m saturating inductors (Modelica.Electrical.Analog.Basic.SaturatingInductor)
Attention!!!
Each element of the array of saturatingInductors is only dependent on the current flowing through this element.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| Inom[m] | fill(1, m) | Nominal current [A] |
| Lnom[m] | fill(1, m) | Nominal inductance at Nominal current [H] |
| Lzer[m] | {2*Lnom[j] for j in 1:m} | Inductance near current=0 [H] |
| Linf[m] | {Lnom[j]/2 for j in 1:m} | Inductance at large currents [H] |
model SaturatingInductor "Simple model of inductors with saturation"
extends Interfaces.TwoPlug;
parameter Modelica.SIunits.Current Inom[ m]=fill(1,m) "Nominal current";
parameter Modelica.SIunits.Inductance Lnom[ m]=fill(1,m)
"Nominal inductance at Nominal current";
parameter Modelica.SIunits.Inductance Lzer[ m]={2*Lnom[j] for j in 1:m}
"Inductance near current=0";
parameter Modelica.SIunits.Inductance Linf[ m]={Lnom[j]/2 for j in 1:m}
"Inductance at large currents";
Modelica.Electrical.Analog.Basic.SaturatingInductor saturatingInductor[
m](
final Inom=Inom,
final Lnom=Lnom,
final Lzer=Lzer,
final Linf=Linf);
equation
connect(saturatingInductor.p, plug_p.pin);
connect(saturatingInductor.n, plug_n.pin);
end SaturatingInductor;
Modelica.Electrical.MultiPhase.Basic.Transformer
Contains m transformers (Modelica.Electrical.Analog.Basic.Transformer)
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| L1[m] | fill(1, m) | Primary inductance [H] |
| L2[m] | fill(1, m) | Secondary inductance [H] |
| M[m] | fill(1, m) | Coupling inductance [H] |
model Transformer "Multiphase Transformer"
extends Interfaces.FourPlug;
parameter Modelica.SIunits.Inductance L1[ m]=fill(1, m) "Primary inductance";
parameter Modelica.SIunits.Inductance L2[ m]=fill(1, m) "Secondary inductance";
parameter Modelica.SIunits.Inductance M[ m]=fill(1, m) "Coupling inductance";
Modelica.Electrical.Analog.Basic.Transformer transformer[
m](
final L1=L1,
final L2=L2,
final M=M);
equation
connect(plug_p1.pin, transformer.p1);
connect(plug_p2.pin, transformer.p2);
connect(plug_n1.pin, transformer.n1);
connect(plug_n2.pin, transformer.n2);
end Transformer;
Modelica.Electrical.MultiPhase.Basic.VariableResistor
Contains m variable resistors (Modelica.Electrical.Analog.Basic.VariableResistor)
Attention!!!
It is recomended that none of the R_Port signals should not cross the zero value.
Otherwise depending on the surrounding circuit the probability of singularities is high.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
model VariableResistor
"Ideal linear electrical resistors with variable resistance"
extends Interfaces.TwoPlug;
Modelica.Blocks.Interfaces.InPort R_Port(
final n=m);
Modelica.Electrical.Analog.Basic.VariableResistor variableResistor[
m];
equation
variableResistor.R_Port.signal[1]=R_Port.signal;
connect(variableResistor.p, plug_p.pin);
connect(variableResistor.n, plug_n.pin);
end VariableResistor;
Modelica.Electrical.MultiPhase.Basic.VariableConductor
Contains m variable conductors (Modelica.Electrical.Analog.Basic.VariableConductor)
Attention!!!
It is recomended that none of the G_Port signals should not cross the zero value.
Otherwise depending on the surrounding circuit the probability of singularities is high.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
model VariableConductor
"Ideal linear electrical conductors with variable conductance"
extends Interfaces.TwoPlug;
Modelica.Blocks.Interfaces.InPort G_Port(
final n=m);
Modelica.Electrical.Analog.Basic.VariableConductor variableConductor[
m];
equation
variableConductor.G_Port.signal[1]=G_Port.signal;
connect(variableConductor.p, plug_p.pin);
connect(variableConductor.n, plug_n.pin);
end VariableConductor;
Modelica.Electrical.MultiPhase.Basic.VariableCapacitor
Contains m variable capacitors (Modelica.Electrical.Analog.Basic.VariableCapacitor)
It is required that each C_Port.signal ≥ 0, otherwise an
assertion is raised. To avoid a variable index system,
C = Cmin, if 0 ≤ C_Port.signal < Cmin, where
Cmin is a parameter with default value Modelica.Constants.eps.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| Cmin[m] | fill(Modelica.Constants.eps,... | [F] |
model VariableCapacitor
"Ideal linear electrical capacitors with variable capacitance"
extends Interfaces.TwoPlug;
parameter Modelica.SIunits.Capacitance Cmin[ m]=fill(Modelica.Constants.eps,m);
Modelica.Blocks.Interfaces.InPort C_Port(
final n=m);
Modelica.Electrical.Analog.Basic.VariableCapacitor variableCapacitor[
m](final Cmin
= Cmin);
equation
variableCapacitor.C_Port.signal[1]=C_Port.signal;
connect(variableCapacitor.p, plug_p.pin);
connect(variableCapacitor.n, plug_n.pin);
end VariableCapacitor;
Modelica.Electrical.MultiPhase.Basic.VariableInductor
Contains m variable inductors (Modelica.Electrical.Analog.Basic.VariableInductor)
It is required that each L_Port.signal ≥ 0, otherwise an
assertion is raised. To avoid a variable index system,
L = Lmin, if 0 ≤ L_Port.signal < Lmin, where
Lmin is a parameter with default value Modelica.Constants.eps.
| Name | Default | Description |
|---|---|---|
| m | 3 | number of phases |
| Lmin[m] | fill(Modelica.Constants.eps,... | [H] |
model VariableInductor
"Ideal linear electrical inductors with variable inductance"
extends Interfaces.TwoPlug;
parameter Modelica.SIunits.Inductance Lmin[ m]=fill(Modelica.Constants.eps,m);
Modelica.Blocks.Interfaces.InPort L_Port(
final n=m);
Modelica.Electrical.Analog.Basic.VariableInductor variableInductor[
m](final Lmin
= Lmin);
equation
variableInductor.L_Port.signal[1]=L_Port.signal;
connect(variableInductor.p, plug_p.pin);
connect(variableInductor.n, plug_n.pin);
end VariableInductor;